using AiQiuQuan.Sport.Model.Models;
using AiQiuQuan.Sport.Core;

namespace AiQiuQuan.Sport.WebApi.Services
{
    /// <summary>
    /// 俱乐部管理
    /// </summary>
    public interface IClubService : ITransientDependency
    {
        /// <summary>
        /// 查询
        /// </summary>
        Task<ClubDto> GetAsync(Guid id);

        /// <summary>
        /// 新增
        /// </summary>
        Task<UnaryResult> AddAsync(ClubAddDto model);

        /// <summary>
        /// 修改
        /// </summary>
        Task<UnaryResult> UpdateAsync(ClubUpdateDto model);

        /// <summary>
        /// 删除
        /// </summary>
        Task<UnaryResult> DeleteAsync(Guid id);

        /// <summary>
        /// 新增俱乐部活动
        /// </summary>
        Task<UnaryResult> AddActivityAsync(ClubActivityAddDto model);

        /// <summary>
        /// 俱乐部活动分页列表
        /// </summary>
        Task<PageResult<ClubActivityDto>> GetClubActivityPageListAsync(ClubActivityPageRequestDto request);
    }
}
